<?php

class Bootstrap {
    
    public function __construct() {
        date_default_timezone_set(Instelling::GET('website.tijdzone'));
        
        new Sessie();
        ini_set('ignore_repeated_errors',true);
        ini_set('ignore_repeated_source',true);
        ini_set('log_errors',true);
        ini_set('display_errors',true);
        set_error_handler('LogError::REGISTREER');        
        set_exception_handler('LogException::REGISTREER');
        
        Verzoek::VERWERK();
    }
}

function __autoload($klasse = '') {
    if ($pad = __klasse($klasse)) {
        require_once($pad);
    }
    else {
        die('FATAAL... klasse '.$klasse);
    }
}

function __klasse($klasse = '') {
    $pad = ['cms'];
    if (strpos($klasse,'\\') == 0) {
        array_push($pad,'systeem');
    }
    else {
        array_push($pad,'modules');
        $klasse = str_replace('\\',DIRECTORY_SEPARATOR,$klasse);
    }
    array_push($pad,$klasse.'.class.php');
    $pad = implode(DIRECTORY_SEPARATOR,$pad);
    if (file_exists($pad) && is_readable($pad)) {
        return $pad;
    }
    else {
        return false;
    }
}